package org.example.plugin_demo;

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
import com.intellij.psi.PsiFile;

/**
 * {@link AnAction} 是对idea中事件相应的处理器，{@link AnAction#actionPerformed(AnActionEvent)} 就像是JS
 * 中的 onClick() 方法。都是事件驱动编程
 */
public class HelloWorldAction extends AnAction {

    @Override
    public void actionPerformed(AnActionEvent e) {
        // 获取当前操作的工程上下文
        Project project = e.getData(PlatformDataKeys.PROJECT);

        // 获取当前操作的类文件
        PsiFile psiFile = e.getData(CommonDataKeys.PSI_FILE);
        // 当前类文件的路径
        String classPath = psiFile.getVirtualFile().getPath();

        String title = "Hello World";
        // 显示对话框
        Messages.showMessageDialog(project, classPath, title, Messages.getInformationIcon());
    }

}
